package com.uobgroup.ews.uam.core.dao;

import java.util.List;

import com.uobgroup.ews.uam.core.domain.Reference;
import com.uobgroup.ews.uam.core.domain.UAMUser;


public interface UAMUserDao extends GenericDao<UAMUser> {
   public long count();

   public List<UAMUser> findAll(int firstResult, int maxResults);
   public List<UAMUser> findAllWithoutDeletion();
   public UAMUser findUserbyUsername(String username);
   public boolean IsExist(String username);
   
   public List<UAMUser> findUAMUserFilter(String name, Boolean IsAdmin, Boolean IsActive, Boolean IsDeleted, Boolean IsLocked, int firstResult, int maxResults);
   
   public long countUAMUserFilter(String username, Boolean IsAdmin, Boolean IsActive, Boolean IsDeleted, Boolean IsLocked);
   
   /**
    * @author dongn
    */
   public long countUserThatHasCountryReference(Reference country);
   
   public List<UAMUser> findUsersByName(String userName);
}
